package team3132.commands;

import edu.wpi.first.wpilibj.command.Command;
import team3132.subsystems.CompressorSubsystem;

/**
 * Command used to start/stop the compressor.
 */
public class StartCompressorCommand extends Command {

  private final CompressorSubsystem compressorSubsystem;

  public StartCompressorCommand(CompressorSubsystem compressorSubsystem) {
    this.compressorSubsystem = compressorSubsystem;
    requires(compressorSubsystem);
    setInterruptible(false);
  }

  // Called just before this Command runs the first time
  protected void initialize() {
  }

  // Called repeatedly when this Command is scheduled to run
  protected void execute() {
  }

  // Make this return true when this Command no longer needs to run execute()
  protected boolean isFinished() {
    return true;
  }

  // Called once after isFinished returns true
  protected void end() {
    compressorSubsystem.startCompressor();
  }

  // Called when another command which requires one or more of the same
  // subsystems is scheduled to run
  protected void interrupted() {
    end();
  }
}
